package helexis.game.tyrian.service;

import helexis.game.tyrian.domain.Level;

public class LevelManager {
	
	/**
	 * 전체 레벨
	 */
	private Level [] levels;
	
	/**
	 * 전체 레벨을 초기화 하는 생성자
	 */
	public LevelManager() {
		
		/*
		 * 전체 레벨은 3 단계로 이루어 짐
		 */
		this.levels = new Level[3];
		
		/*
		 * 레벨 3
		 */
		this.levels[2] = new Level(3);
		this.levels[2].setName("Episode 3");
		
		/*
		 * 레벨 2
		 */
		this.levels[1] = new Level(2);
		this.levels[1].setName("Episode 2");
		this.levels[1].setNextLevel(levels[2]);
		
		/*
		 * 레벨 1
		 */
		this.levels[0] = new Level(1);
		this.levels[0].setName("Episode 1");
		this.levels[0].setNextLevel(levels[1]);
		
	}//end of constructor
	
	/**
	 * 전체 레벨을 리턴합니다.
	 * 
	 * @return 전체 레벨을 포함하는 배열
	 */
	public Level [] getLevels() {
		return this.levels;
	}//end of getLevels()
	
	
	/**
	 * 주어진 레벨 ID 에 해당하는 레벨을 리턴합니다.
	 * 
	 * @param levelId 레벨 ID
	 * @return 주어진 레벨 ID 에 해당하는 레벨
	 */
	public Level findLevelByLevelId(int levelId) {
		
		if (levelId < 0 || levelId > this.levels.length - 1) {
			return null;
		}//end if
		
		return this.levels[levelId];
		
	}//end of findLevelByLevelId()

}
//end of LevelManager.java